[slimtensor] Add aoti_torch_new_tensor_handle for SlimTensor#16449
[slimtensor] Add aoti_torch_new_tensor_handle for SlimTensor#16449Gasoonjia merged 12 commits intogh/gasoonjia/91/basefrom
Conversation
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/16449
Note: Links to docs will display an error until the docs builds have been completed. ⏳ 2 Pending, 2 Unrelated FailuresAs of commit 230055a with merge base 914d5ff ( BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16565 * #16551 * #16469 * #16457 * #16455 * #16454 * #16453 * #16452 * #16451 * #16450 * #16449 * #16448 * #16447 * #16446 * __->__ #16724 Copy CUDAGuard and CUDAStreamGuard from cuda/runtime/ to aoti/slim/cuda/ to support slimtensor requirement while get rid of potential circular dependency: - cuda_backend/main_functionalities -> aoti/slimtensor -> cuda_backend/cuda_guard This change: - copy guard.h, guard.cpp and test files from backend/cuda_backend to backend/aoti/slim/cuda/ Differential Revision: [D91056808](https://our.internmc.facebook.com/intern/diff/D91056808/)
…v2 (#16446) Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16565 * #16551 * #16469 * #16457 * #16455 * #16454 * #16453 * #16452 * #16451 * #16450 * #16449 * #16448 * #16447 * __->__ #16446 * #16724 Add SlimTensor-based implementations of AOTI shim functions for tensor creation: 1. `aoti_torch_create_tensor_from_blob_v2()` - Creates a non-owning SlimTensor that wraps existing memory using the `from_blob()` factory Both functions support CPU and CUDA devices and handle all 7 SlimTensor dtypes. Also add `memory_slim.h` and `memory_slim.cpp` with SlimTensor-based shim implementations for working on new API while not impact the current pipeline. Will use memory_slim.{h/cpp} to replace current memory.{h/cpp} when everything has been set up. Differential Revision: [D90126247](https://our.internmc.facebook.com/intern/diff/D90126247/)
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16565 * #16551 * #16469 * #16457 * #16455 * #16454 * #16453 * #16452 * #16451 * #16450 * #16449 * #16448 * __->__ #16447 * #16446 * #16724 Add SlimTensor-based implementations of AOTI shim functions for tensor creation: `aoti_torch_create_tensor_from_blob_v2()` - Creates a non-owning SlimTensor that wraps existing memory using the `from_blob()` factory Both functions support CPU and CUDA devices and handle all 7 SlimTensor dtypes. Changes: - Add `memory_slim.h` and `memory_slim.cpp` with SlimTensor-based shim implementations - Add `runtime_shims_slim` library target to TARGETS with `CUDA_AVAILABLE=1` preprocessor flag - Add `cuda_shim_slim_cpp_unittest()` function for SlimTensor test targets Differential Revision: [D90126244](https://our.internmc.facebook.com/intern/diff/D90126244/)
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Add `aoti_torch_new_tensor_handle()` - Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr<Storage>, so both tensors reference the same memory. Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) [ghstack-poisoned]
Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom): * #16451 * #16450 * #16449 * __->__ #16448 Add `aoti_torch_delete_tensor_object()` - Deletes a tensor object. SlimTensor uses SharedPtr-based reference counting, so simply deleting the tensor automatically handles storage deallocation when the last reference is removed. Differential Revision: [D90126248](https://our.internmc.facebook.com/intern/diff/D90126248/)
This PR was created by the merge bot to help merge the original PR into the main branch. ghstack PR number: #16449 by @Gasoonjia ^ Please use this as the source of truth for the PR details, comments, and reviews ghstack PR base: https://github.com/pytorch/executorch/tree/gh/gasoonjia/91/base ghstack PR head: https://github.com/pytorch/executorch/tree/gh/gasoonjia/91/head Merge bot PR base: https://github.com/pytorch/executorch/tree/gh/gasoonjia/90/orig Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/gasoonjia/91/orig Differential Revision: [D90126245](https://our.internmc.facebook.com/intern/diff/D90126245/) @diff-train-skip-merge --------- Co-authored-by: gasoonjia <gasoonjia@icloud.com> Co-authored-by: Gasoonjia <gasoonjia@meta.com>
Stack from ghstack (oldest at bottom):
Add
aoti_torch_new_tensor_handle()- Creates a new tensor handle that shares storage with the original tensor. Uses SlimTensor's copy constructor which shares the SharedPtr, so both tensors reference the same memory.Differential Revision: D90126245